草庐IT

php - bool 和字符串条件

全部标签

ruby - 构建 ruby​​ gem 并有条件地指定依赖项

我正在开发一个需要在安装gem时有条件地设置依赖项的gem。我已经做了一些挖掘工作看来我不是唯一有这种需求的人。Rubygems:HowdoIaddplatform-specificdependency?这是一个长线程http://www.ruby-forum.com/topic/957999我能看到将依赖项添加到gem的唯一方法是在.gemspec文件的Gem::Specifictionblock中使用add_dependency方法Gem::Specification.newdo|s|#...standardsetupstuff#conditionallysetdependenci

ruby - 为什么 Rack 响应主体是数组而不是字符串?

他们文档中的经典helloworld示例,classHelloWorlddefcall(env)return[200,{},["Helloworld!"]]endend我的问题是为什么第三个值是[Helloworld!],而不是“Helloworld”?来自他们的文档,TheBodymustrespondtoeachandmustonlyyieldStringvalues.TheBodyitselfshouldnotbeaninstanceofString,asthiswillbreakinRuby1.9.为什么body需要对每个使用react?在什么情况下这很重要?

ruby-on-rails - Ruby:根据 block 查找条件删除并返回数组值

是否有一种内置方法可以根据block条件返回true从数组中删除一个值,并返回被删除的值?这是我正在尝试做的事情的简化版本,但似乎必须有更好的方法:array=[1,2,3,4,5,6,7,8,9,10]index=array.index{|v|v==5}#returnsindexifblockistruevalue=array.delete_at(index)#deletesandreturnselementatindexvalue是5 最佳答案 您无法就地更新数组并返回一组已删除的不同值。您可以使用delete_if执行以下操作

ruby - 将 radix-2 数字字符串数组写入 Ruby 中的二进制文件

我用Ruby编写了一个简单的Huffman编码。作为输出,我有一个数组,例如:["010","1111","10","10","110","1110","001","110","000","10","011"]我需要将它写入文件,然后从文件读取。我尝试了几种方法:IO.binwrite("out.cake",array)我得到一个简单的文本文件而不是二进制文件。或者:File.open("out.cake",'wb')do|output|array.eachdo|byte|output.printbyte.chrendend这看起来可行,但后来我无法将其读入数组。我应该使用哪种编码?

ruby - 如何将 ruby 字符串向左或向右对齐?

我有几个ruby字符串,我想适本地左右对齐。我现在使用"Name".center(20,"")获取"(7spaces)Name(8spaces)"如何实现"Name(15spaces)"或"(15spaces)Name"谢谢。 最佳答案 "Name".ljust(19)"Name".rjust(19) 关于ruby-如何将ruby字符串向左或向右对齐?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/

ruby-on-rails - 如何从字符串转换为对象属性名称?

我正在尝试将字符串值转换为属于对象的属性名称。例如,在下面的代码中,我需要将column_array中的所有字符串值转换为属性名称。名称"student_identification"、"email"等是我的Student表的实际列名。在实际场景中,column_array将由用户设置(通过勾选复选框)。new_array将替换为csv,因为我希望数据进入csv文件。此刻我真的在以下几行挣扎:new_array我希望将"#{column_array[i]}"转换为属性名称,以便我可以访问数据。defexp_tst@records=Student.find(:all,:condition

ruby - 检查数组的元素是否部分存在于给定字符串中

我有一行文字thisistheline如果该数组中的元素之一,我想返回true:['hey','format','qouting','this']是上面给出的字符串的一部分。因此对于上面的行,它应该返回true。对于这一行hellomynameismartin它不应该。我知道include?但我不知道如何在这里使用它(如果它有帮助的话)。 最佳答案 >>s="thisistheline"=>"thisistheline">>['hey','format','qouting','this'].any?{|w|s=~/#{w}/}=>t

ruby - 有没有一种简单的方法可以在 Ruby 中执行多行缩进字符串?

这个问题在这里已经有了答案:HowdoIremoveleadingwhitespacecharsfromRubyHEREDOC?(11个答案)Rubyindentedmultilinestrings[duplicate](4个答案)关闭6年前。假设我想要一个非常大的漂亮的html代码块与我的ruby​​代码内联。在不丢失我的字符串中的任何格式或不必记住某种gsub正则表达式的情况下,最干净的方法是什么。在一行中编码很容易,但很难阅读:1.timesdo#Notethatthespaceshavebeenchangedto_sothattheyareeasytoseehere.doc="

ruby - 映射一个只修改符合特定条件的元素的数组

在Ruby中,以修改某些元素而其他元素保持不变的方式映射数组的最具表现力的方法是什么?这是一种直接的方法:old_a=["a","b","c"]#["a","b","c"]new_a=old_a.map{|x|(x=="b"?x+"!":x)}#["a","b!","c"]当然,如果还不够的话,省略“leave-alone”的情况:new_a=old_a.map{|x|x+"!"ifx=="b"}#[nil,"b!",nil]我想要的是这样的:new_a=old_a.map_modifying_only_elements_where(Proc.new{|x|x=="b"})do|y|y

ruby - OptionParser 返回 bool 值而不是参数?

当我运行thissample来自OptionParser文档:require'optparse'options={}OptionParser.newdo|opts|opts.banner="Usage:example.rb[options]"opts.on("-v","--[no-]verbose","Runverbosely")do|v|options[:verbose]=vendend.parse!poptionspARGV然后输入:rubytest.rb-v100,它返回:{:verbose=>true}["100"]verbose不应该是100,不是bool值吗?我对此一无所知